package repository

import (
	"gitee.com/kristas/booting-go/framework"
	"gitee.com/kristas/booting-go/framework/core/statement/types"
)

func init() {
	framework.Component(new(FactoryImpl))
}

type Factory interface {
	GetAccountRepo() AccountRepository
}

type FactoryImpl struct {
	types.Component   `name:"repository_factory"`
	AccountRepository AccountRepository `wire:""`
}

func (r *FactoryImpl) GetAccountRepo() AccountRepository {
	return r.AccountRepository
}
